<!--
 * @Description:
 * @Author: lcs
 * @LastEditors: lcs
 * @Date: 2022-01-10 14:28:22
 * @LastEditTime: 2022-01-12 09:57:02
-->
<template>
  <div class="hello">
    <div class="msg">扫描摄像头启动中，请稍候......</div>
  </div>
</template>

<script>
var wx = require('weixin-js-sdk');
// var wx = require('../common/js-sdk');
import { isiOS } from '../common/utils';
// import { fixurlMixin } from '../common/mixin';

export default {
    name: 'HelloWorld',
    // mixins: [fixurlMixin],
    data() {
        return {
            msg: 'nihao'
        };
    },
    // beforeRouteEnter(to, from, next) {
    //     var u = navigator.userAgent;
    //     const ios = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
    //     console.log(to.path, location.pathname);
    //     if (ios && to.path !== location.pathname) {
    //         // 此处不可使用location.replace
    //         location.assign(to.fullPath);
    //         console.log(to.fullPath);
    //     } else {
    //         next();
    //     }
    // },

    async mounted() {
        const url = encodeURI(window.location.href.split('#')[0]);
        // const url = encodeURI(document.location.protocol + '//' + document.location.host + this.$route.fullPath);
        console.log(url);
        this.httpGet(this.$root.getWeixinSdk, { url: url })
            .then(res => {
                wx.config({
                    debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
                    appId: res.appId, // 必填，公众号的唯一标识
                    timestamp: res.timestamp, // 必填，生成签名的时间戳
                    nonceStr: res.nonceStr, // 必填，生成签名的随机串
                    signature: res.signature, // 必填，签名，见附录1
                    jsApiList: ['scanQRCode'] // 必填，需要使用的JS接口列表，所有JS接口列表见附录2

                });
                wx.ready(() => {
                    this.scanCode();
                });
                wx.error((err) => {
                    // alert('请在微信里打开');
                    console.log('err', err);
                    // config信息验证失败会执行error函数，如签名过期导致验证失败，具体错误信息可以打开config的debug模式查看，也可以在返回的res参数中查看，对于SPA可以在这里更新签名。
                });
            })
            .catch((err) => {
                this.$toast.fail(err);
            });
    },
    methods: {
        scanCode() {
            wx.scanQRCode({
                needResult: 1, // 默认为0，扫描结果由微信处理，1则直接返回扫描结果，
                scanType: ['qrCode', 'barCode'], // 可以指定扫二维码还是一维码，默认二者都有
                success: (res) => {
                    // console.log(res);
                    if (res.resultStr) {
                        var newstr = res.resultStr.replace('http://www.noi315.com/Accounts?code=', '');
                        this.$router.push({ path: './scan-result', query: { code: newstr }});
                    }
                }
            });
        }
    }
};
</script>

<style scoped lang="stylus">
    @import '~@/common/main.styl'
    .hello {
      height: 100vh;
        flex-x(center)
        .msg {
            word-vw(vw(14),#333)
        }
    }
</style>
